Paolo Borelli [Sat, 27 Feb 2016 09:46:59 +0000 (10:46 +0100)]
gdk: factor out utility shared among backends
Removes duplicated code and makes sure we use the version which
is safe against infinite loops
Benjamin Otte [Sat, 27 Feb 2016 02:58:40 +0000 (03:58 +0100)]
notebook: Redo notebook implementation
So far, this only reworks the tabs at top implementation.
Windows doesn't have support for theming tabs at left/right/bottom
so we need to figure out what to do there. Wine falls back to
unthemed code.
Benjamin Otte [Sat, 27 Feb 2016 02:56:07 +0000 (03:56 +0100)]
boxgadget: Add ability to draw children in reverse
This is necessary for GtkNotebook so that the stack is always drawn
before the header.
And that is necessary so that the active tab can use negative
margins to overdraw the border of the stack to create a gap and
simulate old GTK2-style visuals for notebooks.
Benjamin Otte [Fri, 26 Feb 2016 23:40:09 +0000 (00:40 +0100)]
cssimagewin32: IMplement printing
Caveat: over() and margins() arent' printed, but they are soon gonna
be removed anyway.
Benjamin Otte [Fri, 26 Feb 2016 05:49:35 +0000 (06:49 +0100)]
window: Include decoration border and padding in resize area
This is relevant for the Windows theme, which is the only theme that
uses padding on decorations. All other themes are unaffected.
Benjamin Otte [Sat, 27 Feb 2016 02:48:46 +0000 (03:48 +0100)]
notebook: The active tab is now :checked
:active is reserved for "mouse button down on node", so we have to use
something else. And stack switcher and radio buttons use :checked for
the active widget, so it makes sense to use :checked for the active tab,
too.
Themes have been adapted.
TODO: Implement :active for tabs.
Benjamin Otte [Sat, 27 Feb 2016 02:39:51 +0000 (03:39 +0100)]
textview: Support borders in text node
Benjamin Otte [Sat, 27 Feb 2016 02:26:52 +0000 (03:26 +0100)]
textview: Fix coordinates when background drawing of text node
Fixes black areas in source view of gtk-demo.
Matthias Clasen [Sat, 27 Feb 2016 00:41:25 +0000 (19:41 -0500)]
wayland: Survive without primary selection
I am testing GTK+ master against mutter 3.19.90, so I'd
like GTK+ to survive even when the compositor does not
support the primary selection interface.
Cédric Valmary [Fri, 26 Feb 2016 20:56:32 +0000 (20:56 +0000)]
Updated Occitan translation
Matthias Clasen [Fri, 26 Feb 2016 20:50:31 +0000 (15:50 -0500)]
Avoid an out-of-bounds access
When the offset gets smaller than min_offset, we can't
access the array at that position.
Matthias Clasen [Fri, 26 Feb 2016 20:50:08 +0000 (15:50 -0500)]
Plug a small memory leak
Matthias Clasen [Fri, 26 Feb 2016 19:55:20 +0000 (14:55 -0500)]
infobar: Avoid a memory leak in an error case
Parsing <action-widgets> could sometimes fail to free
some of the data, if a nonexisting widget is referenced.
Found by gcc's leak sanitizer.
Matthias Clasen [Fri, 26 Feb 2016 19:51:24 +0000 (14:51 -0500)]
levelbar: Avoid a use-after-free
We were freeing the old offset before using its name to
recreate a new one. Don't do that.
Found by gcc's undefined behavior sanitizer.
Matthias Clasen [Fri, 26 Feb 2016 19:50:25 +0000 (14:50 -0500)]
dialog: Avoid a memory leak in an error case
Parsing <action-widgets> could sometimes fail to free
some of the data, if a nonexisting widget is referenced.
Found by gcc's leak sanitizer.
Matthias Clasen [Fri, 26 Feb 2016 19:48:21 +0000 (14:48 -0500)]
cssselector: Don't invoke undefined behavior
Avoid undefined behavior in the calculation of some
hash values. Found by gcc's undefined behavior sanitizer.
Matthias Clasen [Fri, 26 Feb 2016 19:47:16 +0000 (14:47 -0500)]
Avoid an a crash with GTK_DEBUG=builder
We might cast objects to GtkBuildable even if they aren't,
to print their names. Don't do that.
Found by gcc's address sanitizer.
Matthias Clasen [Fri, 26 Feb 2016 18:08:45 +0000 (13:08 -0500)]
Fix an memory overrun
This was detected by gccs address sanitizer.
Cédric Valmary [Fri, 26 Feb 2016 20:35:37 +0000 (20:35 +0000)]
Updated Occitan translation
Carlos Garnacho [Thu, 25 Feb 2016 23:28:05 +0000 (00:28 +0100)]
wayland: Use the page size as the selection buffer size
And ensure we don't attempt to read EOF twice, once is enough.
Carlos Garnacho [Thu, 4 Feb 2016 16:33:51 +0000 (17:33 +0100)]
wayland: Implement the (so far internal) primary selection protocol
Implement it using the internal copy of the protocol. Otherwise,
we just deal with it the same than clipboard selection, just mapping
it to the PRIMARY atom instead of the CLIPBOARD one.
https://bugzilla.gnome.org/show_bug.cgi?id=762561
Carlos Garnacho [Tue, 23 Feb 2016 19:32:31 +0000 (20:32 +0100)]
wayland: Make the function to get the last serial a seat one
This will be useful for primary selection.
https://bugzilla.gnome.org/show_bug.cgi?id=762561
Carlos Garnacho [Tue, 23 Feb 2016 19:20:42 +0000 (20:20 +0100)]
wayland: Add gtk-primary-selection protocol
This protocol is an internal mirror of the primary selection drafts
being proposed for wayland-protocols. No changes besides prefix/suffix
changes.
https://bugzilla.gnome.org/show_bug.cgi?id=762561
Lapo Calamandrei [Fri, 26 Feb 2016 18:01:19 +0000 (19:01 +0100)]
Adwaita: notebook tab sizing fix
Fredy Paquet [Fri, 26 Feb 2016 17:21:26 +0000 (17:21 +0000)]
W32: Fix for commit
1f74f12d9, re-enabling decimal separator key
1f74f12d9 rendered entry of keypad decimal mark unuseable for
several national keyboard layouts, this commit amends that, at
least for W32, and makes GTK+ behave more or less the same way
W32 behaves.
The patch works like this:
- When typing the first character at the keyboard or when switching
keyboard layouts, the decimal mark character will be cached in the
static variable "decimal_mark" within gdkkeys-win32.c
- in case of WIN32, gdk_keyval_to_unicode() asks gdkkeys-win32.c for the
current decimal_mark when converting GDK_KEY_KP_Decimal.
https://bugzilla.gnome.org/show_bug.cgi?id=756751
Lapo Calamandrei [Fri, 26 Feb 2016 12:15:37 +0000 (13:15 +0100)]
Adwaita: stricter selector for split headerbar separator
with a descendant select was erroneusly catching normal headerbar
separators in paned split headerabar case, see gedit. Using a child
selector fixes.
Lapo Calamandrei [Fri, 26 Feb 2016 12:07:09 +0000 (13:07 +0100)]
Adwaita: simplify mixed buttons styling
Lapo Calamandrei [Fri, 26 Feb 2016 11:53:02 +0000 (12:53 +0100)]
Adwaita: fix separator in non paned using split headerbar
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=762593
Carlos Soriano [Fri, 26 Feb 2016 10:54:53 +0000 (11:54 +0100)]
gtkplacessidebar: use gpointers in trash row
It's the right casting. Forgot to push it with the previous patch.
Carlos Soriano [Fri, 26 Feb 2016 10:01:38 +0000 (11:01 +0100)]
gtkplacessidebar: clean up trash row on destroy
Track with a weak ref the trash row, so we can clean up the data in the
private struct.
Spotted and reviewed by Christian Hergert.
Gábor Kelemen [Fri, 26 Feb 2016 09:14:53 +0000 (09:14 +0000)]
Updated Hungarian translation
Руслан Ижбулатов [Wed, 24 Feb 2016 17:20:33 +0000 (17:20 +0000)]
GDK W32: Fix the filling of MINMAXINFO
1) MSDN says that the coordinates of the maximized window
must be specified as if the window was on the primary display,
even if nearest display where it ends up is not the primary display.
So instead of using nearest display work area verbatim,
use it only to account for taskbar size, while using
primary display top-left corner (0:0) as the reference point.
2) MSDN says that max tracking size is a system property, we
should just call GetSystemMetrics() and use that.
https://bugzilla.gnome.org/show_bug.cgi?id=762629
Matthias Clasen [Fri, 26 Feb 2016 05:13:34 +0000 (00:13 -0500)]
Document CSS win32 size support
Benjamin Otte [Fri, 26 Feb 2016 02:17:01 +0000 (03:17 +0100)]
win32 theme: Make titlebuttons look like they're the right size
This is a hack because we can't really rtesize the buttons.
Instead, we draw the background only over the area that they would
be drawn if they were drawn by Windows. The button is still selectable
outside of this area, but what can you do...
Benjamin Otte [Fri, 26 Feb 2016 02:15:53 +0000 (03:15 +0100)]
win32 theme: Fix decorations
... and draw them properly.
Matthias Clasen [Fri, 26 Feb 2016 02:19:31 +0000 (21:19 -0500)]
xi2: Add some more debug spew
Log the valuators we use or ignore.
Matthias Clasen [Fri, 26 Feb 2016 01:49:09 +0000 (20:49 -0500)]
inspector: Simplify general tab setup
Factor out the code to create a listbox row with two labels,
and use it throughout.
Matthias Clasen [Fri, 26 Feb 2016 01:28:23 +0000 (20:28 -0500)]
inspector: React to device changes
Recreate the device section in the general tab when
devices come or go.
Matthias Clasen [Fri, 26 Feb 2016 01:16:21 +0000 (20:16 -0500)]
Remove redundant words from docs
An either without an or doesn't add anything.
Matthias Clasen [Fri, 26 Feb 2016 01:12:53 +0000 (20:12 -0500)]
Fix a copy-paste error
Matt Watson [Wed, 24 Feb 2016 18:41:45 +0000 (10:41 -0800)]
widget-factory: transition pages
https://bugzilla.gnome.org/show_bug.cgi?id=762642
Benjamin Otte [Thu, 25 Feb 2016 22:20:31 +0000 (23:20 +0100)]
window: Draw decorations in the right place
When we draw our own shadows, we need to offset the calls to render the
background to the border rectangle.
Matthias Clasen [Thu, 25 Feb 2016 21:36:13 +0000 (16:36 -0500)]
Better baseline adjustment
The way we were adjusting baselines if min-height forces
a size increase was not quite working as intended. Redo
it in a simpler way: just split up the excess and count
half of it for above the baseline and half below.
This fixes button labels in dialogs appearing too low.
Matthias Clasen [Thu, 25 Feb 2016 21:17:34 +0000 (16:17 -0500)]
fix a typo
Timm Bäder [Thu, 25 Feb 2016 18:23:40 +0000 (19:23 +0100)]
Move .keycap docs from GtkFrame to GtkLabel
That's where .keycap is used nowadays.
Timm Bäder [Thu, 25 Feb 2016 17:41:24 +0000 (18:41 +0100)]
frame: Measure border gadget separately
https://bugzilla.gnome.org/show_bug.cgi?id=760482
Timm Bäder [Thu, 25 Feb 2016 17:40:44 +0000 (18:40 +0100)]
frame: Let GtkContainer handle border-width
https://bugzilla.gnome.org/show_bug.cgi?id=760482
Matthias Clasen [Thu, 25 Feb 2016 18:18:02 +0000 (13:18 -0500)]
icon helper: Don't set baseline to 0
It is clearly not the intention that the baseline of icons is at
the very top. The visible effect of this was that spin buttons were
higher than expeted, because the box gadget was trying to line up
the baseline of the text with the top of the buttons, forcing extra
height to be requested.
Just don't set a baseline at all for now.
Artur de Aquino Morais [Thu, 25 Feb 2016 16:30:11 +0000 (16:30 +0000)]
Updated Brazilian Portuguese translation
Piotr Drąg [Thu, 25 Feb 2016 16:26:45 +0000 (17:26 +0100)]
Updated Polish translation
Benjamin Otte [Tue, 23 Feb 2016 04:05:37 +0000 (05:05 +0100)]
win32 theme: Make entries and textview work
Benjamin Otte [Thu, 25 Feb 2016 15:14:37 +0000 (16:14 +0100)]
pixelcache: Don't have a style context argument
That would imply the pixelcache monitors the style context for changes
and it doesn't do that.
Its only use case was opacity checks, so add
gtk_pixel_cache_se_is_opaque() instead.
Benjamin Otte [Thu, 25 Feb 2016 14:40:04 +0000 (15:40 +0100)]
stylecontext: Move background_is_opaque() function
The new way, it no longer depends on the style context, but on the
CssStyle. This will become relevant in the next commit.
Fran Dieguez [Thu, 25 Feb 2016 15:34:16 +0000 (15:34 +0000)]
Updated Galician translation
Ignacio Casal Quinteiro [Thu, 25 Feb 2016 14:25:19 +0000 (15:25 +0100)]
inspector: use guint to fix the windows build
Carlos Soriano [Thu, 25 Feb 2016 13:25:40 +0000 (14:25 +0100)]
gtkplacessidebar: avoid unresponsive UI while trashing
We were updating the whole places sidebar when the trash changed.
This effectively removes all rows and create new ones for every trash
state change.
Although when using GtkTreeView it was somehow ok, with the new
implementation with GtkListBox this effectively locks the UI while the
trash operations are being performed.
When performing operations for i.e. 100 files, the UI can be locked
for more than 1 minute since gvfs-trash usually takes time.
To fix this just update the icon of the trash when the state of the
trash change instead of the whole sidebar.
https://bugzilla.gnome.org/show_bug.cgi?id=762677
Matthias Clasen [Thu, 25 Feb 2016 13:26:34 +0000 (08:26 -0500)]
inspector: Show ::num-touches for touch devices
This can be useful information.
Matthias Clasen [Thu, 25 Feb 2016 13:25:50 +0000 (08:25 -0500)]
xi2: Set ::num-touches for touch devices
XI2 has this information, so pass it on.
Matthias Clasen [Thu, 25 Feb 2016 13:25:14 +0000 (08:25 -0500)]
device: Add a num-touches property
Some backends can provide this information for touch devices,
and it can be useful to have, so add this property.
Carlos Soriano [Thu, 25 Feb 2016 12:39:23 +0000 (13:39 +0100)]
gtkplacesview: clean up mount server callback
And fix a warning of unused variable.
Reviewed by Nacho on IRC
Matthias Clasen [Thu, 25 Feb 2016 11:18:41 +0000 (06:18 -0500)]
x11: Update seat capabilities
The default seat implementation was never returning capabilities,
which is broken. It is visible too, since the inspector shows seat
information now.
Matthias Clasen [Thu, 25 Feb 2016 06:21:27 +0000 (01:21 -0500)]
inspector: Update for screen config changes
Repopulate the display section whenever the monitor configuration
changes.
Matthias Clasen [Thu, 25 Feb 2016 06:10:23 +0000 (01:10 -0500)]
inspector: Don't show numeric ids
The vendor and product ids for input devices aren't useful
as-is; need to figure out how to translate them to names.
Matthias Clasen [Thu, 25 Feb 2016 05:49:17 +0000 (00:49 -0500)]
inspector: Show more device information
This adds vendor and product id and axes. This reveals that
the GDK backends have quite different quality when it comes
to returning meaningful information here.
Matthias Clasen [Thu, 25 Feb 2016 05:17:09 +0000 (00:17 -0500)]
inspector: Show some basic device information
Add information about seats and their associated devices
in the General tab.
Matthias Clasen [Thu, 25 Feb 2016 03:18:13 +0000 (22:18 -0500)]
gadget: Warn about missing size allocation
When size_allocate is overridden in widgets, but draw is not,
we can end up drawing a gadget that has not been given a size.
Warn about this, and limp along by drawing the gadget over the
full allocation of its owner widget.
https://bugzilla.gnome.org/show_bug.cgi?id=762614
Matthias Clasen [Thu, 25 Feb 2016 02:59:44 +0000 (21:59 -0500)]
x11: More fake tablet blacklisting
Sigh.
Now that we've neutered the QEMU USB tablet, I'm finding that
spice is doing just the same nonsense. It has a fake "spice vdagent
tablet". Blacklist that as well.
Benjamin Otte [Thu, 25 Feb 2016 03:02:39 +0000 (04:02 +0100)]
treeview: Don't make things way too high
If the size-request is larger than the dedicated size, don't increase
the dedicated size by the size request, only increase it to the
size request.
Benjamin Otte [Thu, 25 Feb 2016 02:57:47 +0000 (03:57 +0100)]
textview: Draw the background properly
The background is *not* drawn relative to the clipping area.
Benjamin Otte [Thu, 25 Feb 2016 02:57:11 +0000 (03:57 +0100)]
treeview: Fix positioning of editing widgets
This looks like a thinko.
Claude Paroz [Wed, 24 Feb 2016 19:56:32 +0000 (20:56 +0100)]
Updated French translation
Ben Iofel [Wed, 24 Feb 2016 19:37:35 +0000 (14:37 -0500)]
GtkIMContext: remove broken anchors in documentation
William Hua [Wed, 24 Feb 2016 18:24:14 +0000 (13:24 -0500)]
mir: fix warnings
William Hua [Wed, 24 Feb 2016 18:23:18 +0000 (13:23 -0500)]
mir: fix GdkSeat-related deprecations
Carlos Garnacho [Wed, 24 Feb 2016 16:19:48 +0000 (17:19 +0100)]
GtkTextHandle: Look up for the first child of a scrolled window found
Text handles use to connect to the first GtkScrollable up the hierarchy
so they can be repositioned when scrolling. It makes more sense to look
up the first child of a GtkScrolledWindow, it must be an scrollable too,
and will be the scrollable that can actually change the position of the
text handles.
https://bugzilla.gnome.org/show_bug.cgi?id=761676
Fabrício Godoy [Wed, 24 Feb 2016 15:32:33 +0000 (15:32 +0000)]
Updated Brazilian Portuguese translation
Jordi Mas [Wed, 24 Feb 2016 15:32:23 +0000 (16:32 +0100)]
Update Catalan translation
Matthias Clasen [Wed, 24 Feb 2016 12:23:15 +0000 (07:23 -0500)]
3.19.10
Matthias Clasen [Wed, 24 Feb 2016 12:26:33 +0000 (07:26 -0500)]
Add a release note about theme changes
Fran Dieguez [Wed, 24 Feb 2016 10:07:01 +0000 (11:07 +0100)]
Update Galician translations
Anders Jonsson [Wed, 24 Feb 2016 09:21:02 +0000 (09:21 +0000)]
Updated Swedish translation
Fabrício Godoy [Wed, 24 Feb 2016 06:58:33 +0000 (06:58 +0000)]
Updated Brazilian Portuguese translation
Jean-François Fortin Tam [Sun, 21 Feb 2016 16:45:44 +0000 (11:45 -0500)]
spin button: Use the Ctrl modifier for Home and End key bindings
https://bugzilla.gnome.org/show_bug.cgi?id=309300
Matthias Clasen [Wed, 24 Feb 2016 01:53:23 +0000 (20:53 -0500)]
Add a testcase for revealer size allocation
This was taken from https://bugzilla.gnome.org/show_bug.cgi?id=761760
Timm Bäder [Fri, 19 Feb 2016 12:22:02 +0000 (13:22 +0100)]
revealer: Don't report >0 preferred width...
... if the child is concealed and the transition type is set to NONE.
In this case, both preferred width and preferred height should be 0, but
we still can't use that to allocate a size for the child, so care about
the minimum size of the child in gtk_revealer_get_child_allocation.
https://bugzilla.gnome.org/show_bug.cgi?id=761760
Carlos Soriano [Mon, 22 Feb 2016 15:18:21 +0000 (16:18 +0100)]
gtkplacesview: use location instead of the enclosing one
We were using the enclosing location when connecting to a server, so
for instance if we were connecting to ftp://test/test it would actually
open ftp://test/ instead of the full path.
To fix it, use the full location when emitting the open location signal.
https://bugzilla.gnome.org/show_bug.cgi?id=756659
Carlos Garnacho [Mon, 22 Feb 2016 21:40:50 +0000 (22:40 +0100)]
gdk: Avoid 2/3BUTTON event generation if the source device changes
Remember the last source device we're generating multiple clicks for,
just so we can bail out if the device changed. That will just reset
the counting.
https://bugzilla.gnome.org/show_bug.cgi?id=723659
Carlos Garnacho [Mon, 22 Feb 2016 21:38:56 +0000 (22:38 +0100)]
GtkGestureMultiPress: reset multi-press sequence if the source device changes
This prevents multipress sequences to possibly come from different mice.
Now the accumulated number of presses will be reset if the device changes
in the mean time.
https://bugzilla.gnome.org/show_bug.cgi?id=723659
Carlos Soriano [Wed, 24 Feb 2016 01:29:03 +0000 (20:29 -0500)]
gtkplacessidebar: add open flags to other locations
We weren't using the open flags on the other locations signal, which
makes impossible for applications like nautilus to act in the same
way that for any other location where the user can choose between
opening in the current view, in a new window or in a new tab.
Add the signal missing parameter in order to allow it.
https://bugzilla.gnome.org/show_bug.cgi?id=754743
Fran Dieguez [Tue, 23 Feb 2016 19:50:22 +0000 (20:50 +0100)]
Updated Galician translations
Мирослав Николић [Tue, 23 Feb 2016 09:17:24 +0000 (10:17 +0100)]
Updated Serbian translation
Мирослав Николић [Tue, 23 Feb 2016 09:16:47 +0000 (10:16 +0100)]
Updated Serbian translation
Мирослав Николић [Fri, 19 Feb 2016 17:35:32 +0000 (18:35 +0100)]
Updated Serbian translation
Theppitak Karoonboonyanan [Tue, 23 Feb 2016 07:46:39 +0000 (14:46 +0700)]
Updated Thai translation
Benjamin Otte [Tue, 23 Feb 2016 03:21:10 +0000 (04:21 +0100)]
entry: Make the get_text_area() vfunc relative to top left of entry
This fixes GdTaggedEntry. I hope.
Benjamin Otte [Tue, 23 Feb 2016 03:19:42 +0000 (04:19 +0100)]
cssparser: Make _gtk_css_parser_has_number() a bit smarter
Previously we just checked the first character. And if that was a "-" as
in "-gtk-some-special-value", we assumed it was a number. Which it
clearly wasn't.
Test included
Benjamin Otte [Tue, 23 Feb 2016 03:18:53 +0000 (04:18 +0100)]
csscolorvalue: Print a comma for win32 values
Benjamin Otte [Mon, 22 Feb 2016 20:38:03 +0000 (21:38 +0100)]
container: Request layout again depending on layout mode
Containers with RESIZE_MODE_PARENT should never request layout and those
with RESIZE_MODE_IMMEDIATE should only request it for updating CSS.
Fixes clutter embeds (like the tray icon embed in gnome-shell)
continuously requesting relayout when all they want to do is relegate
relayout to Clutter.
https://bugzilla.gnome.org/show_bug.cgi?id=758893
Chao-Hsiung Liao [Tue, 23 Feb 2016 02:51:35 +0000 (02:51 +0000)]
Updated Chinese (Taiwan) translation
Paolo Borelli [Mon, 22 Feb 2016 20:20:18 +0000 (21:20 +0100)]
Win32: fix warning